// 角色相关类型定义
import { RemoveParam, ListParam } from './common-api'

// 角色实体
export interface Role {
  id: string
  name: string
  key: string
  status: boolean
  permission: string[]
}

// 角色菜单
export interface RoleMenu {
  id: string
  menus: string[]
}

// ==================== 角色API参数类型 ====================

// 角色分页查询参数
export interface RolePageParam {
  roleName: string
  pageNum: number
  pageSize: number
}

// 角色删除参数
export type RoleRemoveParam = RemoveParam

// 角色保存或更新参数
export interface RoleSaveOrUpdateParam {
  id: string
  roleName: string
  roleKey: string
  status: string
}

// 角色菜单查询参数
export interface RoleMenusParam {
  id: string
}

// 角色菜单更新参数
export interface RoleMenusUpdateParam {
  id: string | number
  menus: Array<string | number>
}

// 角色列表查询参数
export type RoleListParam = ListParam
